home *** CD-ROM | disk | FTP | other *** search
/ Get a Grip Tennis by Wilson / Get a Grip Tennis by Wilson.iso / pc / wilson.dxr / Internal_54_QuickTime Control Slider.ls < prev    next >
Encoding:
Text File  |  2003-08-12  |  1.7 KB  |  57 lines

  1. property pSprite, pDuration, pSliderSprite, pOldSliderSprite
  2.  
  3. on getBehaviorDescription
  4.   return "QuickTime Control Slider" & RETURN & RETURN & "Use this behavior in conjunction with the Animation: Interactive 'Constrain to Line' behavior to create a slider control for QuickTime digital videos. " & "Attach the 'Constrain' behavior to the slider and set its parameters and put this behavior on the digital video sprite." & RETURN & RETURN & "PARAMETERS:" & RETURN & " - channel number of Slider sprite." & RETURN & RETURN & "PERMITTED TYPES:" & RETURN & "#QuickTimeMedia"
  5. end
  6.  
  7. on getBehaviorTooltip me
  8.   return "Use in conjunction with the Constrain to Line behavior (in the Animation > Interactive library) to create a slider that can respond to QuickTime playback."
  9. end
  10.  
  11. on beginSprite me
  12.   mInitialize(me)
  13. end
  14.  
  15. on prepareFrame me
  16.   mUpdate(me)
  17. end
  18.  
  19. on mInitialize me
  20.   pSprite = sprite(me.spriteNum)
  21.   pDuration = pSprite.duration
  22. end
  23.  
  24. on mUpdate
  25.   vValue = float(pSprite.movieTime) / pDuration
  26.   sendSprite(pSliderSprite, #mSetConstrainPos, vValue, 0)
  27. end
  28.  
  29. on mConstrainedValue me, vSlider, vValue
  30.   if vSlider = pSliderSprite then
  31.     pSprite.movieTime = integer(pDuration * vValue)
  32.   end if
  33. end
  34.  
  35. on changeSlider me
  36.   pSliderSprite = 101
  37.   mInitialize(me)
  38. end
  39.  
  40. on isOKToAttach me, aSpriteType, aSpriteNum
  41.   case aSpriteType of
  42.     #graphic:
  43.       return getPos([#quickTimeMedia], sprite(aSpriteNum).member.type) <> 0
  44.     #script:
  45.       return 0
  46.   end case
  47. end
  48.  
  49. on getPropertyDescriptionList me
  50.   if not (the currentSpriteNum) then
  51.     exit
  52.   end if
  53.   vPDList = [:]
  54.   setaProp(vPDList, #pSliderSprite, [#comment: "Slider Sprite", #format: #integer, #default: the currentSpriteNum + 1, #range: [#min: 1, #max: the lastChannel]])
  55.   return vPDList
  56. end
  57.